#ifndef __MANEJADOR_REQUISITOS_USUARIO_H__
#define __MANEJADOR_REQUISITOS_USUARIO_H__

#include "GenerarPlanDeCarreraPage.h"
#include "ContextoDeEjecucionFactory.h"
#include "RequisitosDeEjecucion.h"
#include "GeneradorPlanDeCarrera.h"

using namespace modelo;
using namespace servicios;
using namespace presentacion;

namespace controlador {

	class ManejadorRequisitosUsuario
	{
	public:
		ManejadorRequisitosUsuario(void);
		~ManejadorRequisitosUsuario(void);

		void Iniciar();

	private:
		void CrearPlanDeCarrera(ActualizadorPantallaCommand* actualizadorPantallaCommand);
		void ImprimirSalida(PlanDeCarrera* planDeCarrera, ActualizadorPantallaCommand* actualizadorPantallaCommand);
		string ObtenerImpresionCursadaCompleta(PlanDeCarrera* plan, MateriaPriorizada* materia, string impresionMateriaYCodigo);
		string ConcatenarImpresionMateriaYCodigoConCatedras(PlanDeCarrera* plan,  MateriaPriorizada* materia, string impresionMateriaYCodigo, string salida);
		string ConcatenarCreditos(PlanDeCarrera* plan,  MateriaPriorizada* materia, string lineaSinCreditos);
	};
}
#endif